// 查找数组中重复项最多的元素
let lines = [
  '192.168.2.1',
  '192.168.1.1',
  '192.168.2.1',
  '192.168.2.2',

]

// function mostFrequency(ipLines) {
//   // 传统的key只能是字符串
//   // 但是ssssssssmap里的可以是任意类型 
//   let map = {}
//   for (let item of ipLines) {
//     if (Object.keys(map).includes(item)) //map已经具有此时的item的key
//     // Object.keys(map)把对象里的key取出来，变成数组
//     {
//       map[item] += 1
//     }else{
//       map[item]=1
//     }
//   }
//   // Object.values(map)把对象里的value取出来，变成数组
//   // console.log(Object.values(map));
//   let max=0,res=''
//   for(let key in map){
//     // console.log(map[key]);
//     if (map[key]>max) {
//       max=map[key]
//       res=key
//     }
//   }
//   // console.log(map);
//   console.log(res);

// }
   
// function mostFrequency(ipLines) {
//   let map = new Map()

//   for (item of ipLines) {
//     if (map.has(item)) {
//       map.set(item, map.get(item) + 1)
//     } else {
//       map.set(item, 1)
//     }
//   }
//   let max=0,res=''
//   map.forEach((val, key) => {
//     if (val>max) {
//       max=val
//       res=key
//     }
//   });
//   console.log(res);
// }


function mostFrequency(ipLines){
  let [obj,max,res]=[{},1,'']
  ipLines.forEach(item => {
    if (obj[item]) {  //item已经存在obj中
      obj[item]++
      
      if (obj[item]>max) {
        max=obj[item]
        res=item
      }
    }else{
      obj[item]=1
    }
    
  });
  console.log(res);
}
mostFrequency(lines)